#include <iostream>
using namespace std;

class MyClass {
private:
    int value;

public:
    // 默认构造函数
    MyClass() : value(0) {
        cout << "Constructor called, value initialized to 0." << endl;
    }

    // 带参数的构造函数
    MyClass(int val) : value(val) {
        cout << "Constructor called with value: " << value << endl;
    }

    // 析构函数
    ~MyClass() {
        cout << "Destructor called, value was: " << value << endl;
    }

    // 设置值
    void setValue(int v) {
        value = v;
    }

    // 获取值
    int getValue() const {
        return value;
    }
};

int main() {
    MyClass obj1; // 调用默认构造函数
    MyClass obj2(10); // 调用带参数的构造函数

    obj1.setValue(5);
    cout << "obj1's value is: " << obj1.getValue() << endl;

    return 0;
}